package com.maybach.core.dal.mapper;

import com.maybach.common.model.PartnerDO;
import com.maybach.common.query.PartnerQuery;

import java.util.List;

import org.apache.ibatis.annotations.Param;

/**
 * MyBatis Mapper for Partner.
 */
public interface PartnerMapper {
	/**
	 * query count by query condition.
	 */
	int countByQuery(PartnerQuery query);

	/**
	 * delete by query condition.
	 */
	int deleteByQuery(PartnerQuery query);

	/**
	 * delete by primary key.
	 */
	int deleteByPrimaryKey(PartnerDO record);

	/**
	 * insert selective.
	 */
	int insertSelective(PartnerDO record);

	/**
	 * select by query condition.
	 */
	List<PartnerDO> selectByQuery(PartnerQuery query);

	/**
	 * select by primary key.
	 */
	PartnerDO selectByPrimaryKey(Long id);

	/**
	 * update by query condition selective.
	 */
	int updateByQuerySelective(@Param("record") PartnerDO record, @Param("query") PartnerQuery query);

	/**
	 * update by query condition.
	 */
	int updateByQuery(@Param("record") PartnerDO record, @Param("query") PartnerQuery query);

	/**
	 * update by primary key selective.
	 */
	int updateByPrimaryKeySelective(PartnerDO record);

	/**
	 * 根据id批量查询
	 * 
	 * @param ids
	 * @return
	 */
	List<PartnerDO> selectByIds(List<Long> ids);
}